package com.digitalart.siteBuilder.nav{
	
	import com.digitalart.siteBuilder.DisplayableElementController;
	import flash.events.Event;
	
	import com.digitalart.commons.CustomEvent;
	import flash.display.DisplayObject;
	import flash.display.Bitmap;
	import flash.utils.getDefinitionByName;
	import flash.utils.getQualifiedClassName;
	import flash.display.Sprite;
	
	public class Navigation extends Sprite
	{
		
		protected var controller: DisplayableElementController;
		static public var CHANGE_SECTION_REQUEST: String = "onSectionChangeReq";
		static public var ON_HIDE_COMPLETE: String = "onHideComplete";
		static public var ON_LOAD_COMPLETE: String = "onLoadComplete";
		static public var ON_SHOW_COMPLETE: String = "onShowComplete";
		
		
		/**********************************Constructor*************************/
		public function Navigation(){
			if(Class(getDefinitionByName(getQualifiedClassName(this)))== Navigation){
				throw new Error("Abstract Class must not be directly instantiated");
			} 
		}
		/**********************************************************************/
		
		/**********************************Methods*****************************/                 
		public function show():void{
			throw new Error("Abstract method must not be directly used");
		}
		public function hide():void{
			throw new Error("Abstract method must not be directly used");                  
		}
		public function load(): void{
			throw new Error("Abstract method must not be directly used");
		}
		public function onLoadComplete(event : Event):void{
			throw new Error("Abstract method must not be directly used");
		}
		public function getView() : DisplayObject {
			throw new Error("Abstract method must not be directly used");   
		}
		/**********************************************************************/
	
	}//end Navigation
}